package mat;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public interface IMultiProtocolFile
{

	InputStream getInputStream() throws IOException;

	ISeekableDataIO getRandomAccessFile(String mode) throws IOException;

	OutputStream getOutputStream() throws IOException;

	OutputStream getOutputStream(boolean append) throws IOException;

	boolean exists();

	boolean canRead() throws IOException;

	boolean canWrite() throws IOException;

	long lastModified() throws IOException;

	long length() throws IOException;

	IMultiProtocolFile[] listFiles() throws IOException;

	boolean mkdirs();

	boolean createNewFile() throws IOException;

	boolean delete();

	boolean setLastModified(long time);

	long getLastModified();

	boolean renameTo(IMultiProtocolFile dest) throws IOException;

	String getPath();

	String getParent();

	String getName();

	boolean isFile() throws IOException;

	boolean isDirectory() throws IOException;

}

